/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.vista;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itschapala.dsw2.biblioteca8a.bl.UsuarioBlLocal;
import mx.itschapala.dsw2.biblioteca8a.modelo.Usuario;

/**
 *
 * @author Lindemann
 */
@ManagedBean
@SessionScoped
public class UserBean {

    //---------------EJB'S-------------------------
    @EJB
    private UsuarioBlLocal usuarioBl;
    //------------------variables(propiedades)--------------
    private List<Usuario> lista;
    private Usuario user;
    private String accion;
//-----------constructor--------------------------------

    public UserBean() {
        user = new Usuario();
    }
    //-----------metodos GET y SET--------------------------------    
    public List<Usuario> getLista() {
        lista = usuarioBl.getAll();
        return lista;
    }

    public Usuario getUser() {
        return user;
    }

    public void setUser(Usuario user) {
        this.user = user;
    }
    //-----------Acciones--------------------------------    
    public String procesarAccion() {
        System.out.println("Accion -->"+accion);
        if(accion.equalsIgnoreCase("Nuevo")){
        usuarioBl.register(user);
        } else if(accion.equalsIgnoreCase("Editar")){
                usuarioBl.modify(user);
            }
        else if(accion.equalsIgnoreCase("Eliminar")){
                usuarioBl.delete(user);
           
}
        accion="";
        return "UsuarioVista";
    }

//-----------Listeners--------------------------------    
    public void prepararNuevo(ActionEvent evt){//accionEvent de faces
        user=new Usuario();
        accion="Nuevo";
    }
    
    public void prepararEditar(ActionEvent evt){
        System.out.println(evt.getComponent().getClientId());
        String arr[]=evt.getComponent().getClientId().split(":");
        String num=arr[3];
        int index=Integer.parseInt(num);
        System.out.println("el numero es: "+index);
        user=lista.get(index);
        accion="Editar";
    }
    public void prepararEliminar(ActionEvent evt){
        String arr[]=evt.getComponent().getClientId().split(":");
        String num=arr[3];
        int index=Integer.parseInt(num);
        System.out.println("el numero es: "+index);
        user=lista.get(index);
        accion="Eliminar";
    }

}
